k = 2
nums = [1,1,1]

def subarraySum(nums, k: int) -> int:
        v, d, count = 0, {0:1}, 0
        for i in nums:
            v += i
            u = v - k
            count += d.get(u,0)
            d[v] = d.get(v, 0) + 1
        return count

print(subarraySum(nums, k))